﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NineMine.DataModel
{
    public class User
    {
        [Key]
        public long Id { get; set; }

        [MaxLength(255)]
        public string Login { get; set; }

        [MaxLength(40)]
        public string HashedPassword { get; set; }

        [MaxLength(30)]
        public string FirstName { get; set; }

        [MaxLength(255)]
        public string LastName { get; set; }

        [MaxLength(60)]
        public string Mail { get; set; }

        public bool Admin { get; set; }

        public UserStatus Status { get; set; }

        public DateTime LastLoginOn { get; set; }

        [MaxLength(5)]
        public string Language { get; set; }

        public AuthSource AuthSource { get; set; }

        public DateTime CreatedOn { get; set; }

        public DateTime UpdatedOn { get; set; }

        [MaxLength(255)]
        public string PricipalType { get; set; }

        [MaxLength(255)]
        public string IdentityUrl { get; set; }

        [MaxLength(255)]
        public string MailNotification { get; set; }

        [MaxLength(64)]
        public string Salt { get; set; }
    }
}
